package com.hdw.job.api;

import com.hdw.common.base.BaseException;
import com.hdw.common.vo.DataExecParamVO;
import com.hdw.med.bean.vo.TableDDLColumnVO;
import com.hdw.med.bean.vo.TableDDLVO;
import com.hdw.common.vo.PaginationVO;
import com.hdw.job.bean.model.EtlTaskOds;
import com.hdw.med.bean.vo.TableDDLSqlVO;

import java.util.List;

/**
 * etlTaskOds服务类
 * Created by eleven on 2021/11/24.
 */
public interface EtlTaskOdsService {

    List<EtlTaskOds> findByModel(EtlTaskOds etlTaskOds);

    PaginationVO<EtlTaskOds> findPageByModel(EtlTaskOds etlTaskOds, Integer pageNum, Integer pageSize);

    EtlTaskOds getById(Long idTaskOds);

    int insert(EtlTaskOds etlTaskOds);

    int insertSelective(EtlTaskOds etlTaskOds);

    int updateByIdSelective(EtlTaskOds etlTaskOds) throws BaseException;

    int updateById(EtlTaskOds etlTaskOds);

    int deleteById(Long idTaskOds) throws BaseException;

    PaginationVO<EtlTaskOds> findByModelWithBLOBs(EtlTaskOds etlTaskOds, Integer pageNum, Integer pageSize);

    void execTableDDLSQL(Long idTaskOds, int execType) throws BaseException, IllegalAccessException;

    TableDDLSqlVO createOrModiTableSQL(Long idTaskOds) throws BaseException, IllegalAccessException;

    List<TableDDLColumnVO> createOrModiTableColumnList(Long idTaskOds) throws BaseException, IllegalAccessException;

    void execTableDDLColumns(TableDDLVO opTable) throws BaseException, IllegalAccessException;

    List<DataExecParamVO> findParamVOS(String startDate, String endDate);

    List<DataExecParamVO> findParamVOS(List<String> ids,String startDate, String endDate);
}
